package site.marqstree.kotlin.library.base.ui.databinding

import android.widget.ImageView
import androidx.databinding.BindingAdapter
import com.bumptech.glide.Glide
import com.mcxtzhang.lib.AnimShopButton
import site.marqstree.kotlin.library.base.R
import site.marqstree.kotlin.library.base.ui.widget.headerbar.HeaderBar


/*
 * 项目名: KotlinMall
 * 包名: site.marqstree.kotlin.library.base.ui.databinding
 * 文件名: ExpressBindingAdapter
 * 创建者: marqstree
 * 创建时间: 2020/3/16 19:39
 * 描述: DataBinding表达式适配器
 */
object ExpressBindingAdapter {

    //绑定所有控件的imageUrl、placeholder属性
    //当给控件的imageUrl属性赋值时，触发此函数，下载并显示图片
    @BindingAdapter("imageUrl")
    @JvmStatic fun loadImageFromUrl(
        view: ImageView,
        url: String?
    ) {
        //采用glide下载图片
        Glide.with(view.context)
            .load(url)
            .centerCrop()
            .placeholder(R.drawable.default_loading)
            .into(view)
    }

    //绑定所有控件的cartCount属性
    //当给控件的cartCount属性赋值时，触发此函数，下载并显示图片
    @BindingAdapter("cartCount")
    @JvmStatic fun countWithNumberButton(
        btn: AnimShopButton,
        count: Int
    ) {
        btn.setCount(count)
    }
}